Bicycle computer having position-determining functionality

ABSTRACT

A bicycle computer having position-determining functionality is described. In an implementation, an apparatus includes a housing configured to attach to a bicycle. The apparatus has one or more modules to store training metrics of a user of the bicycle as a function of geographic position.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of, and claims prioritybenefit to, co-pending and commonly assigned U.S. patent applicationentitled “BICYCLE COMPUTER HAVING POSITION-DETERMINING FUNCTIONALITY,”application Ser. No. 11/965,318, filed Dec. 27, 2007, which in turnclaims the benefit of U.S. Provisional Patent Application Ser. No.60/968,557, filed Aug. 28, 2007, under 35 U.S.C. §119(e). Each of theabove-identified applications is incorporated herein by reference in itsentirety.

BACKGROUND

Bicycle computers are used by a wide range of users for a variety ofdifferent purposes. For example, a casual user may be curious about thefastest-speed attainable on a downhill course and therefore use aspeedometer to determine this maximum speed. More serious users may usebicycle computers to obtain additional information, such as distancetraveled and so on. Traditional bicycle computers, however, were oftenlimited by the information that may be obtained.

Further, traditional techniques to obtain information on a bicyclerelied on a variety of different devices to obtain and output dataseparately, such as a speedometer and a heart rate monitor. Therefore,the user may be forced to use a multitude of different devices to obtaindesired information. Further, because these devices were implementedseparately, the devices could not share and leverage this information,one to another.

SUMMARY

A bicycle computer having position-determining functionality isdescribed. In an implementation, an apparatus includes a housingconfigured to attach to a bicycle. The apparatus has one or more modulesto store training metrics of a user of the bicycle as a function ofgeographic position. In another implementation, a geographic position ofa bicycle computer is determined. A virtual training partner is output,having one or more training metrics, by the bicycle computer based onthe determined geographic position.

This Summary is provided solely as an introduction to subject matterthat is fully described in the Detailed Description and Drawings. TheSummary should not be considered to describe essential features nor beused to determine the scope of the Claims. Moreover, it is to beunderstood that both the foregoing Summary and the following DetailedDescription are exemplary and explanatory only and are not necessarilyrestrictive of the invention claimed. The accompanying drawings, whichare incorporated in and constitute a part of the specification,illustrate embodiments of the invention and together with the DetailedDescription, serve to explain the principles of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Theuse of the same reference numbers in different instances in thedescription and the figures may indicate similar or identical items.

FIG. 1 is an illustration of an environment in an exemplaryimplementation that is operable to employ a bicycle computer havingposition-determining functionality;

FIG. 2 is an illustration of a system including an exemplaryimplementation of the bicycle computer of FIG. 1 as being in wirelesscommunication with a plurality of devices configured to provide trainingmetrics of a user of a bicycle;

FIG. 3 is an illustration of an exemplary implementation of the bicyclecomputer of FIGS. 1 and 2 as outputting a map that includes a currentgeographical position of the bicycle computer and a track;

FIG. 4 is an illustration of an exemplary implementation of the bicyclecomputer of FIGS. 1 and 2 as outputting a map concurrently with trainingmetrics of a virtual training partner and training metrics of a user ofa bicycle having the bicycle computer;

FIG. 5 is a flow diagram depicting a procedure in an exemplaryimplementation in which training metrics of a user of a bicycle arecollected and stored as a function of a determined geographic position;

FIG. 6 is a flow diagram depicting a procedure in an exemplaryimplementation in which a virtual training partner is output by thebicycle computer of FIGS. 1 and 2; and

FIG. 7 is an illustration of an exemplary implementation of the bicyclecomputer of FIGS. 1 and 2 as outputting a map concurrently withrepresentations of other users/bicycles, aid stations, and other objectsthat provide a position to the bicycle computer.

DETAILED DESCRIPTION

Bicyclists may use a variety of devices to gauge and plan theirworkouts, and to make cycling more enjoyable. However, these deviceswere typically provided separately and had limited functionality suchthat information between the devices was not shared and therefore couldnot be leveraged by other devices.

In one or more implementations, a bicycle computer havingposition-determining functionality is described. For example, a bicyclecomputer may include Global Positioning System (GPS) functionality toprovide positional awareness, such as through output of a map includinga current position, destination, and so on. The bicycle computer mayalso combine this functionality with training metrics of a user (e.g.,heart rate, power, cadence, and so on) to track the user's trainingregimen. For instance, the bicycle computer may store data atpredetermined intervals which indicates a current geographical position,speed, time, and one or more of the training metrics such as heart rate.

The combination of GPS mapping with training metrics allows the user tosee their speed, heart rate, power, and so on as a function of position,which creates entirely new ways to plan and analyze activities. Forexample, an activity log displayed on the bicycle computer's map screenmay indicate heart rate and/or power output zones using color variation.Metrics displayed on the bicycle computer could also be color-coded toindicate intensity or training zones. The combination of training dataand specific location enables cyclists to better analyze theirperformance and design tailored training plans to achieve their goals.

The position-determining functionality may also be leveraged to providea “virtual training partner” on the bicycle computer. For example, abicyclist may desire to ride a relatively hilly course under a desiredamount of time. To compute a pace that would meet this goal, the totalcourse length may be divided by the desired amount of time to compute anaverage pace. However, this average pace does not take into account thehills in the course. Therefore, the pace of the bicyclist may varygreatly to meet this goal, whereas the average does not. By usingposition-determining functionality, the virtual training partner may beconfigured to take into account terrain that is to be encountered on thedesired course. This information may be obtained in a variety of ways,such as from a previous ride, a download obtained via a networkconnection, and so on. In this way, a user is provided with a virtualtraining partner that better reflects the terrain to be encountered,further discussion of which may be found in relation to FIGS. 4 and 6.

In the following discussion, an exemplary bicycle computer environmentand system is first described in relation to FIGS. 1 and 2. An exemplarybicycle computer is then shown in relation to FIGS. 3 and 4 which may beemployed in the exemplary environment. Exemplary procedures are thenshown in relation to FIGS. 5 and 6 which may be implemented in theexemplary environment by the exemplary bicycle computers, as well as byother bicycle computers having position-determining functionality.

FIG. 1 illustrates an environment 100 having an exemplary bicyclecomputer that incorporates positioning-system functionality. A varietyof positioning systems may be employed to provide position-determiningtechniques, an example of which is illustrated in FIG. 1 as a GlobalPositioning System (GPS) although other techniques are also contemplatedsuch as GNSS. The environment 100 can include any number ofposition-transmitting platforms 102(1)-102(N), such as a GPS platform, asatellite, a retransmitting station, an aircraft, and/or any other typeof positioning-system-enabled transmission device or system. Theenvironment 100 also includes a bicycle computer 104, which isillustrated as being attached to a bicycle of a bicyclist. Although aGPS system is described and illustrated in relation to FIG. 1, it shouldbe apparent that a wide variety of other positioning systems may also beemployed, such as terrestrial based systems (e.g., wireless-phone basedsystems that broadcast position data from cellular towers), wirelessnetworks that transmit positioning signals, and so on. For example,positioning-determining functionality may be implemented through use ofa server in a server-based architecture, from a ground-basedinfrastructure, through one or more sensors (e.g., gyros, odometers,magnetometers), through one or more bicycle mounted sensors (e.g., wheelspeed sensor, power meters or power sensors), use of “dead reckoning”techniques, and so on.

In the environment 100 of FIG. 1, the position-transmitting platforms102(1)-102(N) are depicted as GPS satellites which are illustrated asincluding one or more respective antennas 106(1)-106(N). The one or moreantennas 106(1)-106(N) each transmit respective signals 108(1)-108(N)that may include positioning information (e.g., timing signals,navigation signals, and so on) to the bicycle computer 104. Althoughthree position-transmitting platforms 102(1)-102(N) are illustrated, itshould be readily apparent that the environment may include additionalposition-transmitting platforms 102(1)-102(N) to provide additionalposition-determining functionality, such as redundancy and so forth. Forexample, the three illustrated position-transmitting platforms102(1)-102(N) may be used to provide two-dimensional navigation whilefour position-transmitting platforms may be used to providethree-dimensional navigation. A variety of other examples are alsocontemplated, including use of terrestrial-based transmitters aspreviously described.

Position-determining functionality, for purposes of the followingdiscussion, may relate to a variety of different navigation techniquesand other techniques that may be supported by “knowing” one or morepositions. For instance, position-determining functionality may beemployed to provide location information, timing information, speedinformation, and a variety of other navigation-related data.Accordingly, the bicycle computer 104 may be configured in a variety ofways to perform a wide variety of functions. For example, the bicyclecomputer 104 may be configured for on-road navigation through the use ofturn-by-turn instructions, off-road navigation by providing detailedinformation on trails and terrain features, and so forth. Accordingly,the bicycle computer 104 may include a variety of devices to determineposition using one or more of the techniques previously described.

The illustrated bicycle computer 104 of FIG. 1 includes a positionantenna 110 that is communicatively coupled to a position receiver 112.The position receiver 112, an input device 114 (e.g., a touch screen,buttons, microphone, wireless input device, data input, and so on), anoutput device 116 (e.g., a color screen, speakers and/or dataconnection) and a memory 118 are also illustrated as beingcommunicatively coupled to a processor 120. A variety of different inputdevices 114 may be employed by the bicycle computer 104, such as toobtain training metrics which may be discussed in greater detail inrelation to FIG. 2.

The processor 120 is not limited by the materials from which it isformed or the processing mechanisms employed therein, and as such, maybe implemented via semiconductor(s) and/or transistors (e.g., electronicintegrated circuits (ICs)), and so forth. Additionally, although asingle memory 118 is shown, a wide variety of types and combinations ofmemory may be employed, such as random access memory (RAM), hard diskmemory, removable medium memory (e.g., the memory 118 may be implementedvia a slot that accepts a removable memory cartridge such as an SD cardand so on), and other types of computer-readable media.

Although the components of the bicycle computer 104 are illustratedseparately, it should be apparent that these components may also befurther divided (e.g., the output device 116 may be implemented asspeakers and a display device) and/or combined (e.g., the input andoutput devices 114, 116 may be combined via a touch screen) withoutdeparting from the spirit and scope thereof. Thus, the componentsillustrated in FIG. 1 are just one of a variety of differentimplementations that may be employed by the bicycle computer 104.

The illustrated position antenna 110 and position receiver 112 areconfigured to receive the signals 108(1)-108(N) transmitted by therespective antennas 106(1)-106(N) of the respectiveposition-transmitting platforms 102(1)-102(N). These signals areprovided to the processor 120 for processing by a navigation module 122,which is illustrated as being executed on the processor 120 and isstorable in the memory 118. The navigation module 122 is representativeof functionality that determines a geographic location, such as byprocessing the signals 108(1)-108(N) obtained from theposition-transmitting platforms 102(1)-102(N) to provide theposition-determining functionality previously described, such as todetermine location, speed, time, and so forth.

The navigation module 122, for instance, may be executed to use positiondata 124 stored in the memory 118 to generate navigation instructions(e.g., turn-by-turn instructions to an input destination), show acurrent position on a map, and so on. The navigation module 122 may alsobe executed to provide other position-determining functionality, such asto determine a current speed, calculate an arrival time, and so on. Awide variety of other examples are also contemplated.

The navigation module 122 is also illustrated as including a trainingmodule 126, which is representative of functionality of the bicyclecomputer 104 involving training metrics. As previously described, thenavigation module 122 may be utilized to implement position-determiningfunctionality, such as to determine a current geographical position ofthe bicycle computer 104. The current geographical position may then beoutput in a variety of ways, such as in conjunction with a map, furtherdiscussion of which may be found in relation to FIG. 3.

The training module 126 may be implemented to collect training metricsregarding use of the bicycle by a user. These training metrics may thenbe stored (e.g., at predetermined intervals) as a function of geographicposition determined by the navigation module 122, which may be utilizedto provide a wide variety of functionality. For example, the storedtraining metrics may be utilized to provide a detailed training log thatmay be output by the bicycle computer 104 that not only shows thetraining metrics (e.g., heart rate, cadence, power, and so on) but alsowhere those training metrics were encountered, i.e., the geographicposition recorded for those metrics. In this way, the user may increasetraining efficiency by identifying areas of strength (e.g., hill climbs)and weakness (e.g., resting on downhill terrain) and adjust accordingly.

The training module 126 may also be representative of functionality toprovide a “virtual training partner”. For example, the user may havepreviously ridden a particular course and had data stored that describestraining metrics as a function of geographic position. This data maythen be output during a subsequent ride by the user (or another user) asa virtual training partner in conjunction with the user's currenttraining metrics. Thus, the user may make a comparison of a current ridewith a previous ride to determine if they are improving or regressing.Additionally, in an implementation the stored training metrics may beaggregated over a number of rides of a particular course (which may beuser selectable) for comparison to an average, e.g., the last ten rides.

In another example, a virtual training partner may be downloaded forcomparison. For instance, the user may access a website and download aprofile of the last winner of the Tour de France over a particularcourse to make a comparison with a world class athlete. In anotherinstance, users may share profiles of training metrics as a function ofgeographic position with each other, such as to engage in friendlycompetition. A variety of other uses of a virtual training partner arecontemplated, further discussion of which may be found in relation toFIGS. 4 and 6.

Generally, any of the functions described herein can be implementedusing software, firmware, hardware (e.g., fixed logic circuitry), manualprocessing, or a combination of these implementations. The terms“module,” “functionality,” and “logic” as used herein generallyrepresent software, firmware, or a combination of software and firmware.In the case of a software implementation, the module, functionality, orlogic represents program code that performs specified tasks whenexecuted on a processor (e.g., CPU or CPUs). The program code can bestored in one or more computer readable memory devices, e.g., the memory118 of FIG. 1. The features of the position-determining techniques asimplemented by a bicycle computer described below areplatform-independent, meaning that the techniques may be implemented ona variety of commercial computing platforms having a variety ofprocessors.

FIG. 2 illustrates an exemplary implementation of a system 200 thatincludes the bicycle computer 104 of FIG. 1 as being in wirelesscommunication with a plurality of devices configured to provide trainingmetrics of a user of a bicycle. The bicycle computer 104 is illustratedas including a housing 202 that includes one or more modules 204, suchas the navigation module 122 and training module 126 of FIG. 1. Thehousing 202 may be configured in a variety of ways, such as a weatherand/or water resistant shell to protect circuitry and power supply usedto implement the one or more modules 204.

The bicycle computer 104 in the system 200 of FIG. 2 is in wirelesscommunication with a plurality of devices configured to collectinformation regarding training metrics of a user of the bicycle. Forexample, a heart rate monitor 206 may collect information regarding thebeats per minute of the user's heart, which may be communicatedwirelessly to the bicycle computer 104. In another example, a cadencemonitor 208 may count a cadence of the user through revolutions of thepedals and/or front sprocket. In yet another example, a powerdetermining device may be used to measure, calculate or estimate thepower of the user. For instance, in one implementation, a power monitor210 may be placed within the crank set of the bicycle to measure powerof the user, such as in watts. A variety of other training metricexamples of a user are also contemplated, such as a speed sensor.

The training metrics collected by the bicycle computer 104 may then bestored as a function of geographic position. For example, the one ormore modules 204 may determine a current geographic position at apredetermined interval (e.g., each second) through the use of GPSfunctionality. The training metrics may then be stored as a function ofthe current geographic position, such as to form a training log,configure a virtual training partner, and so on. Training metrics canalso be stored without geographic position data, such as in areas whereGPS is not available (e.g., when training inside of a building).

Other metrics may also be collected by the bicycle computer 104 (eitherdirectly by the computer itself and/or wirelessly from other devices)and stored as a function of geographic position. For example, thebicycle computer 104 may determine speed, incline, altitude gain,timing, and so on of a track. These metrics may also be stored as afunction of geographic position and leveraged in a variety of ways, suchas to configure a future training program, virtual training partner, andso forth. These metrics can also be stored without geographic positiondata, such as in areas where GPS is not available (e.g., when traininginside of a building).

This information (e.g., the training metrics and/or other metrics) maybe stored in a variety of ways. For instance, an activity-based schememay be employed to define a training route that includes a plurality oftracked geographical points. The user may then access this route at alater time, such as automatically when the bicycle computer 104 is at asimilar geographical location along the route, through a menu of storedroutes, and so on. Thus, this activity-based scheme may provide analternate to a purely position-based scheme, although such schemes arealso contemplated.

FIG. 3 illustrates an exemplary implementation 300 of the bicyclecomputer 104 of FIGS. 1 and 2 as outputting a map 302 that includes acurrent geographical position 304 and a track 306. The map 302 as wellas the indication of the track 306 and the current position 304 may beimplemented in a variety of ways. For example, the map 306, with theindication of a current geographical position 304 may be output in realtime as the bicycle computer is moved, which may also be performedconcurrently with one or more training metrics, an example of which isshown in FIG. 4.

The map 302 of FIG. 3 is illustrated as a “routable basemap”, which maybe configured on a variety of ways. In a first non-limiting example, thebasemap is a 13 MB auto-routing basemap. This basemap may be improved byadding accuracy to the existing map features that are useful forbicyclists. For instance, cartography may increase resolution and reducesmoothing to create a basemap that more accurately displays the highwaysand major roads as well as bike trails and so on. The enhanced basemap,for example, may use up to 30 MB of internal memory.

The navigational features of the bicycle computer 104 may also becustomized for the specific needs of cyclists. To avoid confusion, forinstance, there may be a single choice for navigation on a main menu.This option may be called “Where To”. Once “Where To” is selected, thebicycle computer 104 may display an option menu which may allow the userto select one of the following choices: “Follow History” “Saved Rides”“Back to Start” or “Find Places”, each of which are described in greaterdetail below.

Follow History

The “Follow History” option may allow users to navigate using previoushistory tracks currently stored on the unit. Once the “Follow History”option is selected, the user may see a page where they can select from alist of their historical data.

After the user selects the history desired, the bicycle computer 104 maysearch the loaded maps to determine if all or a portion of the track 306can be matched to the street data of the map. If it is determined thatall or a portion of the track 306 can be map-matched, the track 306 maybe broken into segments. The segments with map data available may thenbe converted to map-dependant segments. Once the user presses “start” tobegin navigation, those segments of the track may display street namesas shown in FIG. 3. Turn information may also be output using anauto-routing feature, e.g., turn-by-turn instructions. For thosesegments that do not have map-dependant data the unit may givepoint-to-point navigation. The bicycle computer 104 may also alert theuser to “leave road” or “return to road” when a map-dependant segmentconnects to a segment without map data. If it is determined that noportion of the track 306 can be matched to the map data, point-to-pointnavigation may be used.

Saved Rides

“Rides” may be used as a generic term that represents a manual route ortrack loaded to the bicycle computer 104. The “Saved Rides” option maygive users the ability to find and navigate these “rides”. In someinstance, rides may not contain the additional statistical informationfor racing the virtual training partner.

Navigating a saved ride may function similarly to the “Follow History”option with the exception that map-matching has already completed.Map-matching may occur when the ride is loaded to the unit. This maylower processing time and allow the user to begin navigating a savedride nearly immediately upon selection.

Back to Start

A “Back to Start” option may automatically invert the active trackmaking the start position the end point. Once this is accomplished, theunit may function the same as the “Follow History” option fornavigation.

Find Places

A “Find Places” option allows users to search points of interest (POI)categories for routing purposes. For instance, a POI list may bepopulated with the basemap data.

Based on the map data available, the unit may decide whether it isbetter to navigate the user to the POI using the auto-routing feature orthe point-by-point routing feature. If the user is currently navigating,the unit may give the user a choice to insert the POI as a via point.

FIG. 4 illustrates an exemplary implementation 400 of the bicyclecomputer 104 of FIGS. 1 and 2 as outputting a map 402 concurrently withtraining metrics 404 of a virtual training partner and training metrics406 of a user of a bicycle having the bicycle computer 104. The trainingmetrics 406 of the user of the bicycle are illustrated in FIG. 4 as“Heart Rate,” “Cadence” and “Power,” although a variety of othertraining metrics are also contemplated. Additionally, although thetraining metrics are output in a textual form in FIG. 4, the trainingmetrics may be output in a variety of ways, such as via a graphicalrepresentation, use of color on a map, and so forth.

The training metrics 404 of the virtual partner are also illustrated ina textual form and include “Heart Rate,” “Cadence” and “Power,” althougha variety of other training metrics are also contemplated. Additionally,a representation 408 is also included to indicate a virtual position ofthe virtual training partner along the track 306 in relation to thecurrent position 304 of the bicycle computer. In this way, the user ofthe bicycle and the bicycle computer 104 is readily informed as to“where” the user is in relation to the virtual training partner. Aspreviously described, the data used to configure the virtual trainingpartner may be obtained from a variety of sources, such as throughpreviously stored training metrics that are a function of geographicalposition, from a third party, and so on. A variety of other virtualtraining partner configurations are also contemplated, such as athree-dimensional “birds eye” view. Additionally, it will be appreciatedthat the user may select which of the training metrics for the virtualpartner 404, user's training metrics 406, and map 402 are displayed bythe bicycle computer 104. For example, the user may choose to have thebicycle computer 104 not display the training metrics 404 of the virtualtraining partner such that only the user's training metrics 406 aredisplayed with the map 402. Similarly, the user can choose to have onlythe map 402 displayed.

Further discussion of virtual training partner may be found in relationto FIG. 6.

The following discussion describes bicycle computer use ofposition-determining techniques that may be implemented utilizing thepreviously described systems and devices. Aspects of each of theprocedures may be implemented in hardware, firmware, or software, or acombination thereof. The procedures are shown as a set of blocks thatspecify operations performed by one or more devices and are notnecessarily limited to the orders shown for performing the operations bythe respective blocks. In portions of the following discussion,reference may be made to the environment 100 of FIG. 1, the system 200of FIG. 2 and the bicycle computers of FIGS. 3 and 4.

FIG. 5 depicts a procedure 500 in an exemplary implementation in whichtraining metrics of a user of a bicycle are collected and stored as afunction of a determined geographic position. One or more trainingmetrics of a user of a bicycle are collected (block 502). For example,the heart rate monitor 206, cadence monitor 208, power monitor 210, andso on may collect training metrics. In another example, the bicyclecomputer 104 may derive the training metrics directly.

The one or more training metrics are communicated from respective one ormore devices to a bicycle computer (block 504), such as over a wired orwireless connection.

A current geographical position is determined by the bicycle computer(block 506). For example, the bicycle computer may use GPS functionalityto determine the current geographical position using the navigationmodule 122 and position data 124 as previously described in relation toFIG. 1. A variety of other techniques may also be utilized to determinegeographical position, such as terrestrial based systems (e.g.,wireless-phone based systems that broadcast position data from cellulartowers), wireless networks that transmit positioning signals, and so on.For example, positioning-determining functionality may be implementedthrough use of a ground-based infrastructure, through one or moresensors (e.g., gyros, odometers, magnetometers), through one or morebicycle mounted sensors (e.g., wheel speed sensor, power meters or powersensors), use of “dead reckoning” techniques, and so on.

The one or more training metrics are stored as a function of thedetermined geographic position of the bicycle computer (block 508). Forexample, the training metrics may be sequentially indexed bygeographical position within a “track” which may be later output.

The training metrics that are stored as a function of the geographicposition are output at a later point in time at similar geographicpositions (block 510). Continuing with the previous example, the usermay save the training metrics as a track. The user may then select thistrack at a later time to train along the route. The bicycle computer,for instance, may output the training metrics as shown in FIG. 4 atsimilar geographic positions when encountered along the route. Oneexample of such an output is through use of a virtual training partner,further discussion of which may be found in relation to the followingfigure. Additional position-determining functionality may also beemployed, such as by use of navigation instructions.

FIG. 6 depicts a procedure 600 in an exemplary implementation in which avirtual training partner is output by the bicycle computer of FIGS. 1and 2. A current geographic position of a bicycle computer is determined(block 602). As previously described, the geographic position may bedetermined in a variety of ways, one of which is through use of GPSfunctionality.

Previously stored training metrics that correspond to the determinedgeographic position are retrieved (block 604). For example, a user mayhave selected a track having a plurality of stored training metricsindexed by geographic position. One or more of the stored trainingmetrics that correspond to the determined geographic position may thenbe retrieved from the track. A variety of other examples is alsocontemplated, which is not limited to the use of a track or a determinedgeographic position. For example, a relative time may be used to comparewhere the user currently is located along a track versus where the userwas previously located along that track during a previous ride at thatsame relative point in time, further discussion of which may be found inrelation to block 608.

A virtual training partner is output, having one or more of the trainingmetrics by the bicycle computer based on the determined geographicposition (block 606). The virtual training partner, for instance, mayoutput training metrics which were obtained from the user during theprevious ride, an example of which is illustrated in FIG. 4. In anotherinstance, the training metrics of another user may be output, such astraining metrics that were shared from a friend, purchased from athird-party website, and so on. A variety of other instances are alsocontemplated.

A virtual training partner, for instance, may also be output on adisplay device of the bicycle computer based on a relative point in time(block 608). For example, the user may start the track at a particularpoint in time. The bicycle computer may then track a relative point intime of a current user 304 as compared to a relative point in time ofthe virtual training partner 408 on the map 402. Further, an indicationmay be output of the determined geographic position on the mapconcurrently with the virtual training partner (block 610) on the map.Thus, the user may readily determine by comparing these indications asto how the user is progressing along the track 306 when compared withthe virtual training partner. It should be noted that the trainingmetrics 404 may still correspond to the current geographic position,while the indication on the map corresponds to the relative point intime such that the user may compare training metrics for like pointsalong the track 306. A variety of other examples are also contemplated,such as indications of other objects that provide data to the bicyclecomputer to indicate a position of the other objects, further discussionof which may be found in relation to the following figure.

FIG. 7 is an illustration of an exemplary implementation 700 of thebicycle computer 104 of FIGS. 1 and 2 as outputting a map concurrentlywith representations of other users/bicycles, aid stations, and otherobjects that provide a position to the bicycle computer. The bicyclecomputer 104 is illustrated as outputting a map 302 that includes acurrent geographical position 304 and a track 306 as previouslydescribed in relation to FIG. 3.

The bicycle computer 104 is also illustrated as outputtingrepresentations of other objects that provide a position to the bicyclecomputer 104. A variety of representations may be output, such asrepresentations of other riders 702, 704 of a team, a representation ofa team car 706, representations of other riders not on the team 708,710, an aid station 712, and so on. Thus, a user of the bicycle computer104 may also be informed as to a position of other objects that arecapable of transmitting a position to the bicycle computer 104.

Transmission of a position may be performed in a variety of ways. In afirst example, the bicycle computer 104 may include functionality todetermine the position of the other objects by the bicycle computer 104itself. For example, the bicycle computer 104 may determine the positionof the other object based on transmissions from the other objects, suchas through use of radio beacons, timing signals, and so on. In anotherexample, the bicycle computer 104 may “poll” the other objects using achallenge/response technique.

In yet another example, each of the other objects may includeposition-determining functionality (e.g., GPS) and transmit a determinedposition to the bicycle computer 104, may have a position manually inputand then transmitted, and so on. Further, the transmission may include avariety of data, such as training metrics of the other rider 702, 704 onthe team, e.g., for use by a team captain, team organizer, and so on.

Transmission may also be performed using a variety of wirelesstechniques, such as in accordance with one or more wireless protocols(e.g., 802.11, ANT, cellular, and so on), wireless radio, satellite, andso forth. Additionally, this transmission may be performed directly fromthe object to the bicycle computer 104 and/or indirectly, such asthrough a central data repository. The central data repository may alsoprovide a variety of additional functionality, such as to categorize andfurther process data and then retransmit the processed data to thebicycle computer 104. A variety of other examples are also contemplated.Additionally, although these representations of objects are illustratedas output on a map 302 in the exemplary embodiment 700 of FIG. 7, theserepresentations may be output using a variety of other techniqueswithout departing from the spirit and scope thereof.

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as exemplary forms of implementing theclaimed invention.

1. A bicycle computer comprising: a display; a position receiver; acommunications module operable to wirelessly communicate with a secondbicycle computer of another rider to receive current position andmetrics data from the second bicycle computer; a memory operable tostore one or more modules; and a processing system coupled to thedisplay, position receiver, and memory, the processing system operableto execute the one or more modules to: determine a current position ofthe bicycle computer, store metrics data in memory, communicateinformation to the second bicycle computer, the communicated informationincluding the determined current position and stored metrics data of thebicycle computer, and cause navigation information to be presented bythe display, the navigation information including a map, the determinedcurrent position of the bicycle computer, and the communicated currentposition of the second bicycle computer.
 2. The bicycle computer asdescribed in claim 1, wherein the communications module is furtheroperable to wirelessly communicate with a team car, wherein thecommunicated information includes the determined current position of thebicycle computer.
 3. The bicycle computer as described in claim 2,wherein the stored metrics data includes at least one of distance, time,speed, incline or altitude gain of a plurality of positions.
 4. Thebicycle computer as described in claim 3, wherein the one or moremodules are further configured to store the metrics data in memory as afunction of position and output the stored metrics data at a similarposition at a later time.
 5. The bicycle computer as described in claim1, wherein the one or more modules are further operable to poll thesecond bicycle computer for information, the polled informationincluding a current position of the second bicycle computer, wherein thenavigation information presented on the display includes the polledcurrent position of the second bicycle computer.
 6. The bicycle computeras described in claim 5, wherein the second bicycle computer is polledfor information using a challenge and response technique.
 7. The bicyclecomputer as described in claim 1, wherein the one or more modules arefurther operable to determine a current position of a second bicyclecomputer capable of communicating with the bicycle computer.
 8. Thebicycle computer as described in claim 1, wherein the one or moremodules are further configured to calculate an arrival time to adestination, wherein the communicated information includes thecalculated arrival time and the position of the destination.
 9. Thebicycle computer as described in claim 1, wherein the communicationsmodule is further operable to wirelessly communicate with an aidstation.
 10. The bicycle computer as described in claim 1, wherein theone or more modules are configured to present heart rate, cadence andpower output on the display.
 11. A method for presenting navigationinformation on a bicycle computer, the method comprising the steps of:a) determining, using a processing system associated with the bicyclecomputer and coupled to a position receiver, a current position of thebicycle computer, wherein the processing system is operable to executeone or more modules stored in a memory; b) storing, using the processingsystem, metrics data in the memory; c) wirelessly communicating, usingthe processing system coupled with a communications module, with asecond bicycle computer of another rider to receive current position andmetrics data from the second bicycle computer; d) wirelesslycommunicating, using the processing system coupled with a communicationsmodule, information to the second bicycle computer, wherein thecommunicated information includes the determined current position andstored metrics data of the bicycle computer; and e) causing, using theprocessing system and a display associated with the bicycle computer,navigation information to be presented by the display, wherein thepresented navigation information includes a map, the determined currentposition of the bicycle computer, and the communicated current positionof the second bicycle computer.
 12. The method of claim 11, furthercomprising the step of wirelessly communicating, using thecommunications module, with a team car, wherein the communicatedinformation includes the determined current position of the bicyclecomputer.
 13. The method of claim 12, wherein the stored metrics dataincludes at least one of distance, time, speed, incline or altitude gainof a plurality of positions.
 14. The method of claim 13, furthercomprising the step of storing, using the one or more modules, themetrics data in memory as a function of position and outputting thestored metrics data on the display at a similar position at a latertime.
 15. The method of claim 11, further comprising the step ofpolling, using the wherein the one or more modules, the second bicyclecomputer for information, wherein the polled information includes acurrent position of the second bicycle computer, wherein the navigationinformation presented on the display includes the polled currentposition of the second bicycle computer.
 16. The method of claim 15,further comprising the step of polling the second bicycle computer forinformation using a challenge and response technique.
 17. The method ofclaim 11, further comprising the step of determining, using the whereinthe one or more modules, a current position of a second bicycle computercapable of communicating with the bicycle computer.
 18. The method ofclaim 11, further comprising the step of calculating, using the whereinthe one or more modules, an arrival time to a destination, wherein thecommunicated information includes the calculated arrival time and theposition of the destination.
 19. The method of claim 11, wherein thecommunications module is further operable to wirelessly communicate withan aid station.
 20. The method of claim 11, further comprising the stepof presenting, using the wherein the one or more modules, heart rate,cadence and power output on the display.